/* C++ code produced by gperf version 3.0.3 */
/* Computed positions: -k'1,3,13,$' */

#if !(                                                                         \
    (' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) && ('%' == 37) && \
    ('&' == 38) && ('\'' == 39) && ('(' == 40) && (')' == 41) &&               \
    ('*' == 42) && ('+' == 43) && (',' == 44) && ('-' == 45) && ('.' == 46) && \
    ('/' == 47) && ('0' == 48) && ('1' == 49) && ('2' == 50) && ('3' == 51) && \
    ('4' == 52) && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) && \
    ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) && ('=' == 61) && \
    ('>' == 62) && ('?' == 63) && ('A' == 65) && ('B' == 66) && ('C' == 67) && \
    ('D' == 68) && ('E' == 69) && ('F' == 70) && ('G' == 71) && ('H' == 72) && \
    ('I' == 73) && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) && \
    ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) && ('R' == 82) && \
    ('S' == 83) && ('T' == 84) && ('U' == 85) && ('V' == 86) && ('W' == 87) && \
    ('X' == 88) && ('Y' == 89) && ('Z' == 90) && ('[' == 91) &&                \
    ('\\' == 92) && (']' == 93) && ('^' == 94) && ('_' == 95) &&               \
    ('a' == 97) && ('b' == 98) && ('c' == 99) && ('d' == 100) &&               \
    ('e' == 101) && ('f' == 102) && ('g' == 103) && ('h' == 104) &&            \
    ('i' == 105) && ('j' == 106) && ('k' == 107) && ('l' == 108) &&            \
    ('m' == 109) && ('n' == 110) && ('o' == 111) && ('p' == 112) &&            \
    ('q' == 113) && ('r' == 114) && ('s' == 115) && ('t' == 116) &&            \
    ('u' == 117) && ('v' == 118) && ('w' == 119) && ('x' == 120) &&            \
    ('y' == 121) && ('z' == 122) && ('{' == 123) && ('|' == 124) &&            \
    ('}' == 125) && ('~' == 126))
/* The character set is not based on ISO-646.  */
#error \
    "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
#endif

// Copyright 2024 The Lynx Authors. All rights reserved.
// Licensed under the Apache License Version 2.0 that can be found in the
// LICENSE file in the root directory of this source tree.

//
// DO NOT MODIFY THIS FILE! AUTO GENERATED BY clay/tools/make_keywords.py
//

#include "clay/ui/component/keywords.h"

#include <string>

namespace clay {
struct TokenValue {
  short name;
  short id;
};

#define TOTAL_KEYWORDS 238
#define MIN_WORD_LENGTH 3
#define MAX_WORD_LENGTH 35
#define MIN_HASH_VALUE 37
#define MAX_HASH_VALUE 640
/* maximum key range = 604, duplicates = 0 */

class KeywordHash {
 private:
  static inline unsigned int hash(const char *str, unsigned int len);

 public:
  static const struct TokenValue *find(const char *str, unsigned int len);
};

inline unsigned int KeywordHash::hash(const char *str, unsigned int len) {
  static const unsigned short asso_values[] = {
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      196, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 9,   641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 140, 62,  72,  154, 8,   235, 171, 186,
      34,  9,   5,   118, 9,   90,  218, 27,  641, 7,   14,  5,   182, 27,  21,
      117, 147, 8,   641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641, 641,
      641};
  unsigned int hval = len;

  switch (hval) {
    default:
      hval += asso_values[(unsigned char)str[12]];
    /*FALLTHROUGH*/
    case 12:
    case 11:
    case 10:
    case 9:
    case 8:
    case 7:
    case 6:
    case 5:
    case 4:
    case 3:
      hval += asso_values[(unsigned char)str[2]];
    /*FALLTHROUGH*/
    case 2:
    case 1:
      hval += asso_values[(unsigned char)str[0]];
      break;
  }
  return hval + asso_values[(unsigned char)str[len - 1]];
}

struct StringPool_t {
  char StringPool_str37[sizeof("scroll-left")];
  char StringPool_str39[sizeof("mask-repeat")];
  char StringPool_str40[sizeof("mask-size")];
  char StringPool_str41[sizeof("mask-image")];
  char StringPool_str43[sizeof("word-break")];
  char StringPool_str44[sizeof("type")];
  char StringPool_str45[sizeof("repeat")];
  char StringPool_str50[sizeof("scroll-enable")];
  char StringPool_str53[sizeof("perspective")];
  char StringPool_str55[sizeof("scroll-forward-mode")];
  char StringPool_str56[sizeof("visible")];
  char StringPool_str57[sizeof("scroll-bar-track-color")];
  char StringPool_str58[sizeof("scroll-top")];
  char StringPool_str59[sizeof("mask-clip")];
  char StringPool_str60[sizeof("idSelector")];
  char StringPool_str64[sizeof("itemkeys")];
  char StringPool_str71[sizeof("sticky-offset")];
  char StringPool_str72[sizeof("exposure-ui-margin-left")];
  char StringPool_str73[sizeof("exposure-ui-margin-right")];
  char StringPool_str74[sizeof("white-space")];
  char StringPool_str75[sizeof("exposure-screen-margin-left")];
  char StringPool_str76[sizeof("exposure-screen-margin-right")];
  char StringPool_str78[sizeof("exposure-ui-margin-bottom")];
  char StringPool_str81[sizeof("exposure-screen-margin-bottom")];
  char StringPool_str82[sizeof("border")];
  char StringPool_str83[sizeof("edit-on-focus")];
  char StringPool_str84[sizeof("bottom-inset")];
  char StringPool_str85[sizeof("border-left")];
  char StringPool_str86[sizeof("border-right")];
  char StringPool_str88[sizeof("border-color")];
  char StringPool_str89[sizeof("border-style")];
  char StringPool_str92[sizeof("cursor")];
  char StringPool_str93[sizeof("exposure-ui-margin-top")];
  char StringPool_str95[sizeof("richtype")];
  char StringPool_str96[sizeof("exposure-screen-margin-top")];
  char StringPool_str97[sizeof("caret-color")];
  char StringPool_str98[sizeof("border-top-style")];
  char StringPool_str100[sizeof("border-bottom")];
  char StringPool_str104[sizeof("border-bottom-color")];
  char StringPool_str105[sizeof("border-bottom-style")];
  char StringPool_str106[sizeof("border-top")];
  char StringPool_str108[sizeof("border-left-style")];
  char StringPool_str110[sizeof("border-radius")];
  char StringPool_str111[sizeof("name")];
  char StringPool_str112[sizeof("tint-color")];
  char StringPool_str113[sizeof("border-top-left-radius")];
  char StringPool_str114[sizeof("min-height")];
  char StringPool_str117[sizeof("border-bottom-left-radius")];
  char StringPool_str118[sizeof("border-bottom-right-radius")];
  char StringPool_str120[sizeof("prev-scrollable")];
  char StringPool_str123[sizeof("cap-insets")];
  char StringPool_str124[sizeof("mask-origin")];
  char StringPool_str131[sizeof("text")];
  char StringPool_str132[sizeof("scroll-direction")];
  char StringPool_str134[sizeof("scroll-orientation")];
  char StringPool_str136[sizeof("scroll-bar-enable")];
  char StringPool_str138[sizeof("text-indent")];
  char StringPool_str139[sizeof("needs-visible-cells")];
  char StringPool_str140[sizeof("border-top-right-radius")];
  char StringPool_str141[sizeof("max-height")];
  char StringPool_str142[sizeof("text-maxline")];
  char StringPool_str143[sizeof("select")];
  char StringPool_str145[sizeof("text-gradient")];
  char StringPool_str146[sizeof("scroll-x")];
  char StringPool_str147[sizeof("exposure-scene")];
  char StringPool_str148[sizeof("maxlines")];
  char StringPool_str149[sizeof("list-type")];
  char StringPool_str150[sizeof("ignore-focus")];
  char StringPool_str152[sizeof("vertical-orientation")];
  char StringPool_str154[sizeof("text-shadow")];
  char StringPool_str156[sizeof("markdown-style")];
  char StringPool_str158[sizeof("value")];
  char StringPool_str159[sizeof("skip-redirection")];
  char StringPool_str161[sizeof("src")];
  char StringPool_str162[sizeof("auto-size")];
  char StringPool_str163[sizeof("transform")];
  char StringPool_str164[sizeof("background-repeat")];
  char StringPool_str165[sizeof("border-left-color")];
  char StringPool_str166[sizeof("z-index")];
  char StringPool_str167[sizeof("background-image")];
  char StringPool_str168[sizeof("adjust-mode")];
  char StringPool_str171[sizeof("dataset")];
  char StringPool_str174[sizeof("content")];
  char StringPool_str175[sizeof("mode")];
  char StringPool_str176[sizeof("scroll-y")];
  char StringPool_str177[sizeof("text-overflow")];
  char StringPool_str181[sizeof("speed")];
  char StringPool_str182[sizeof("confirm-type")];
  char StringPool_str184[sizeof("controls")];
  char StringPool_str185[sizeof("placeholder")];
  char StringPool_str187[sizeof("scroll-to-id")];
  char StringPool_str189[sizeof("scroll-backward-mode")];
  char StringPool_str191[sizeof("background-size")];
  char StringPool_str194[sizeof("consume-slide-event")];
  char StringPool_str195[sizeof("cap-insets-scale")];
  char StringPool_str196[sizeof("preload")];
  char StringPool_str197[sizeof("item-key")];
  char StringPool_str198[sizeof("visibility")];
  char StringPool_str199[sizeof("align-focus")];
  char StringPool_str200[sizeof("exposure-id")];
  char StringPool_str201[sizeof("sticky")];
  char StringPool_str202[sizeof("color")];
  char StringPool_str207[sizeof("column-count")];
  char StringPool_str209[sizeof("image-transition-style")];
  char StringPool_str210[sizeof("box-shadow")];
  char StringPool_str211[sizeof("list-main-axis-gap")];
  char StringPool_str212[sizeof("initial-scroll-offset")];
  char StringPool_str216[sizeof("mask-position")];
  char StringPool_str217[sizeof("prevent-loading-on-list-scroll")];
  char StringPool_str218[sizeof("text-stroke-color")];
  char StringPool_str219[sizeof("send-composing-input")];
  char StringPool_str222[sizeof("text-align")];
  char StringPool_str224[sizeof("line-height")];
  char StringPool_str226[sizeof("hit-slop")];
  char StringPool_str231[sizeof("scroll-bar-auto-hide")];
  char StringPool_str235[sizeof("next-focus-left")];
  char StringPool_str236[sizeof("scroll-bar-thumb-color")];
  char StringPool_str237[sizeof("scroll-without-focus")];
  char StringPool_str238[sizeof("outline")];
  char StringPool_str242[sizeof("scroll-bar-thumb-hover-color")];
  char StringPool_str243[sizeof("scroll-bar-thumb-active-color")];
  char StringPool_str244[sizeof("scroll-bar-thumb-radius")];
  char StringPool_str245[sizeof("transition")];
  char StringPool_str246[sizeof("scroll-event-throttle")];
  char StringPool_str248[sizeof("background-origin")];
  char StringPool_str250[sizeof("outline-color")];
  char StringPool_str252[sizeof("outline-style")];
  char StringPool_str255[sizeof("overflow")];
  char StringPool_str257[sizeof("scroll-bar-width")];
  char StringPool_str258[sizeof("bounce")];
  char StringPool_str260[sizeof("direction")];
  char StringPool_str261[sizeof("text-decoration")];
  char StringPool_str262[sizeof("next-focus-right")];
  char StringPool_str263[sizeof("placeholder-color")];
  char StringPool_str264[sizeof("enable-new-animator")];
  char StringPool_str265[sizeof("bounces")];
  char StringPool_str267[sizeof("border-width")];
  char StringPool_str268[sizeof("level")];
  char StringPool_str269[sizeof("blur-radius")];
  char StringPool_str270[sizeof("auto-fix")];
  char StringPool_str271[sizeof("intersection-observers")];
  char StringPool_str272[sizeof("experimental-recycle-sticky-item")];
  char StringPool_str273[sizeof("animation")];
  char StringPool_str274[sizeof("next-focus-up")];
  char StringPool_str278[sizeof("allow-escape")];
  char StringPool_str282[sizeof("preferred-focus-child")];
  char StringPool_str283[sizeof("border-bottom-width")];
  char StringPool_str284[sizeof("smart-scroll")];
  char StringPool_str285[sizeof("transform-origin")];
  char StringPool_str289[sizeof("enable-scrollbar")];
  char StringPool_str290[sizeof("border-right-color")];
  char StringPool_str291[sizeof("border-right-style")];
  char StringPool_str292[sizeof("next-scrollable")];
  char StringPool_str293[sizeof("border-left-width")];
  char StringPool_str294[sizeof("background-clip")];
  char StringPool_str295[sizeof("list-cross-axis-gap")];
  char StringPool_str296[sizeof("show-soft-input-onfocus")];
  char StringPool_str297[sizeof("low-quality")];
  char StringPool_str298[sizeof("background")];
  char StringPool_str300[sizeof("autoplay")];
  char StringPool_str301[sizeof("clip-path")];
  char StringPool_str302[sizeof("readonly")];
  char StringPool_str305[sizeof("border-top-width")];
  char StringPool_str307[sizeof("scroll-to-index")];
  char StringPool_str309[sizeof("vertical-align")];
  char StringPool_str310[sizeof("border-top-color")];
  char StringPool_str321[sizeof("maxlength")];
  char StringPool_str323[sizeof("initial-scroll-index")];
  char StringPool_str324[sizeof("focusable")];
  char StringPool_str326[sizeof("focus")];
  char StringPool_str327[sizeof("text-maxlength")];
  char StringPool_str328[sizeof("exposure-area")];
  char StringPool_str330[sizeof("disabled")];
  char StringPool_str333[sizeof("auto-save-last-child")];
  char StringPool_str337[sizeof("uiappear")];
  char StringPool_str341[sizeof("font-weight")];
  char StringPool_str342[sizeof("font-size")];
  char StringPool_str343[sizeof("font-style")];
  char StringPool_str344[sizeof("animation-style")];
  char StringPool_str346[sizeof("text-stroke-width")];
  char StringPool_str350[sizeof("tag")];
  char StringPool_str351[sizeof("loop-count")];
  char StringPool_str352[sizeof("enable-font-scaling")];
  char StringPool_str353[sizeof("overflow-x")];
  char StringPool_str354[sizeof("uidisappear")];
  char StringPool_str357[sizeof("image-config")];
  char StringPool_str358[sizeof("downsampling")];
  char StringPool_str361[sizeof("text-single-line-vertical-align")];
  char StringPool_str366[sizeof("filter")];
  char StringPool_str367[sizeof("loop")];
  char StringPool_str371[sizeof("next-focus-fallback")];
  char StringPool_str373[sizeof("user-interaction-enabled")];
  char StringPool_str375[sizeof("background-color")];
  char StringPool_str376[sizeof("scroll-bar-auto-hide-delay")];
  char StringPool_str377[sizeof("list-container-info")];
  char StringPool_str383[sizeof("overflow-y")];
  char StringPool_str385[sizeof("accessibility-element")];
  char StringPool_str388[sizeof("lower-threshold-item-count")];
  char StringPool_str391[sizeof("line-spacing")];
  char StringPool_str394[sizeof("image-rendering")];
  char StringPool_str395[sizeof("accessibility-elements")];
  char StringPool_str397[sizeof("enable-scroll")];
  char StringPool_str398[sizeof("letter-spacing")];
  char StringPool_str401[sizeof("event-through")];
  char StringPool_str404[sizeof("drop-shadow")];
  char StringPool_str412[sizeof("experimental-batch-render-strategy")];
  char StringPool_str415[sizeof("scroll-bar-thumb-width")];
  char StringPool_str420[sizeof("scroll-bar-thumb-min-length")];
  char StringPool_str423[sizeof("use-soft-keyboard")];
  char StringPool_str430[sizeof("placeholder-font-weight")];
  char StringPool_str431[sizeof("placeholder-font-size")];
  char StringPool_str435[sizeof("focus-index")];
  char StringPool_str440[sizeof("enable-nested-scroll")];
  char StringPool_str444[sizeof("text-selection")];
  char StringPool_str445[sizeof("enable-exposure-ui-margin")];
  char StringPool_str447[sizeof("update-animation")];
  char StringPool_str454[sizeof("full-screen")];
  char StringPool_str457[sizeof("animation-velocity")];
  char StringPool_str458[sizeof("upper-threshold-item-count")];
  char StringPool_str461[sizeof("background-position")];
  char StringPool_str469[sizeof("border-right-width")];
  char StringPool_str483[sizeof("font-family")];
  char StringPool_str496[sizeof("accessibility-label")];
  char StringPool_str499[sizeof("block-native-event")];
  char StringPool_str501[sizeof("experimental-update-sticky-for-diff")];
  char StringPool_str512[sizeof("opacity")];
  char StringPool_str526[sizeof("lower-threshold")];
  char StringPool_str528[sizeof("defer-src-invalidation")];
  char StringPool_str530[sizeof("next-focus-down")];
  char StringPool_str534[sizeof("need-visible-item-info")];
  char StringPool_str585[sizeof("-x-app-region")];
  char StringPool_str594[sizeof("fullscreen-mode")];
  char StringPool_str596[sizeof("upper-threshold")];
  char StringPool_str604[sizeof("update-list-info")];
  char StringPool_str608[sizeof("outline-width")];
  char StringPool_str613[sizeof("-x-auto-font-size")];
  char StringPool_str632[sizeof("-x-auto-font-size-preset-sizes")];
  char StringPool_str640[sizeof("focus-smooth-scroll")];
};
static const struct StringPool_t StringPool_contents = {
    "scroll-left",
    "mask-repeat",
    "mask-size",
    "mask-image",
    "word-break",
    "type",
    "repeat",
    "scroll-enable",
    "perspective",
    "scroll-forward-mode",
    "visible",
    "scroll-bar-track-color",
    "scroll-top",
    "mask-clip",
    "idSelector",
    "itemkeys",
    "sticky-offset",
    "exposure-ui-margin-left",
    "exposure-ui-margin-right",
    "white-space",
    "exposure-screen-margin-left",
    "exposure-screen-margin-right",
    "exposure-ui-margin-bottom",
    "exposure-screen-margin-bottom",
    "border",
    "edit-on-focus",
    "bottom-inset",
    "border-left",
    "border-right",
    "border-color",
    "border-style",
    "cursor",
    "exposure-ui-margin-top",
    "richtype",
    "exposure-screen-margin-top",
    "caret-color",
    "border-top-style",
    "border-bottom",
    "border-bottom-color",
    "border-bottom-style",
    "border-top",
    "border-left-style",
    "border-radius",
    "name",
    "tint-color",
    "border-top-left-radius",
    "min-height",
    "border-bottom-left-radius",
    "border-bottom-right-radius",
    "prev-scrollable",
    "cap-insets",
    "mask-origin",
    "text",
    "scroll-direction",
    "scroll-orientation",
    "scroll-bar-enable",
    "text-indent",
    "needs-visible-cells",
    "border-top-right-radius",
    "max-height",
    "text-maxline",
    "select",
    "text-gradient",
    "scroll-x",
    "exposure-scene",
    "maxlines",
    "list-type",
    "ignore-focus",
    "vertical-orientation",
    "text-shadow",
    "markdown-style",
    "value",
    "skip-redirection",
    "src",
    "auto-size",
    "transform",
    "background-repeat",
    "border-left-color",
    "z-index",
    "background-image",
    "adjust-mode",
    "dataset",
    "content",
    "mode",
    "scroll-y",
    "text-overflow",
    "speed",
    "confirm-type",
    "controls",
    "placeholder",
    "scroll-to-id",
    "scroll-backward-mode",
    "background-size",
    "consume-slide-event",
    "cap-insets-scale",
    "preload",
    "item-key",
    "visibility",
    "align-focus",
    "exposure-id",
    "sticky",
    "color",
    "column-count",
    "image-transition-style",
    "box-shadow",
    "list-main-axis-gap",
    "initial-scroll-offset",
    "mask-position",
    "prevent-loading-on-list-scroll",
    "text-stroke-color",
    "send-composing-input",
    "text-align",
    "line-height",
    "hit-slop",
    "scroll-bar-auto-hide",
    "next-focus-left",
    "scroll-bar-thumb-color",
    "scroll-without-focus",
    "outline",
    "scroll-bar-thumb-hover-color",
    "scroll-bar-thumb-active-color",
    "scroll-bar-thumb-radius",
    "transition",
    "scroll-event-throttle",
    "background-origin",
    "outline-color",
    "outline-style",
    "overflow",
    "scroll-bar-width",
    "bounce",
    "direction",
    "text-decoration",
    "next-focus-right",
    "placeholder-color",
    "enable-new-animator",
    "bounces",
    "border-width",
    "level",
    "blur-radius",
    "auto-fix",
    "intersection-observers",
    "experimental-recycle-sticky-item",
    "animation",
    "next-focus-up",
    "allow-escape",
    "preferred-focus-child",
    "border-bottom-width",
    "smart-scroll",
    "transform-origin",
    "enable-scrollbar",
    "border-right-color",
    "border-right-style",
    "next-scrollable",
    "border-left-width",
    "background-clip",
    "list-cross-axis-gap",
    "show-soft-input-onfocus",
    "low-quality",
    "background",
    "autoplay",
    "clip-path",
    "readonly",
    "border-top-width",
    "scroll-to-index",
    "vertical-align",
    "border-top-color",
    "maxlength",
    "initial-scroll-index",
    "focusable",
    "focus",
    "text-maxlength",
    "exposure-area",
    "disabled",
    "auto-save-last-child",
    "uiappear",
    "font-weight",
    "font-size",
    "font-style",
    "animation-style",
    "text-stroke-width",
    "tag",
    "loop-count",
    "enable-font-scaling",
    "overflow-x",
    "uidisappear",
    "image-config",
    "downsampling",
    "text-single-line-vertical-align",
    "filter",
    "loop",
    "next-focus-fallback",
    "user-interaction-enabled",
    "background-color",
    "scroll-bar-auto-hide-delay",
    "list-container-info",
    "overflow-y",
    "accessibility-element",
    "lower-threshold-item-count",
    "line-spacing",
    "image-rendering",
    "accessibility-elements",
    "enable-scroll",
    "letter-spacing",
    "event-through",
    "drop-shadow",
    "experimental-batch-render-strategy",
    "scroll-bar-thumb-width",
    "scroll-bar-thumb-min-length",
    "use-soft-keyboard",
    "placeholder-font-weight",
    "placeholder-font-size",
    "focus-index",
    "enable-nested-scroll",
    "text-selection",
    "enable-exposure-ui-margin",
    "update-animation",
    "full-screen",
    "animation-velocity",
    "upper-threshold-item-count",
    "background-position",
    "border-right-width",
    "font-family",
    "accessibility-label",
    "block-native-event",
    "experimental-update-sticky-for-diff",
    "opacity",
    "lower-threshold",
    "defer-src-invalidation",
    "next-focus-down",
    "need-visible-item-info",
    "-x-app-region",
    "fullscreen-mode",
    "upper-threshold",
    "update-list-info",
    "outline-width",
    "-x-auto-font-size",
    "-x-auto-font-size-preset-sizes",
    "focus-smooth-scroll"};
#define StringPool ((const char *)&StringPool_contents)

static const struct TokenValue wordlist[] = {
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str37),
     (short)KeywordID::kScrollLeft},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str39),
     (short)KeywordID::kMaskRepeat},
    {offsetof(struct StringPool_t, StringPool_str40),
     (short)KeywordID::kMaskSize},
    {offsetof(struct StringPool_t, StringPool_str41),
     (short)KeywordID::kMaskImage},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str43),
     (short)KeywordID::kWordBreak},
    {offsetof(struct StringPool_t, StringPool_str44), (short)KeywordID::kType},
    {offsetof(struct StringPool_t, StringPool_str45),
     (short)KeywordID::kRepeat},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str50),
     (short)KeywordID::kScrollEnable},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str53),
     (short)KeywordID::kPerspective},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str55),
     (short)KeywordID::kScrollForwardMode},
    {offsetof(struct StringPool_t, StringPool_str56),
     (short)KeywordID::kVisible},
    {offsetof(struct StringPool_t, StringPool_str57),
     (short)KeywordID::kScrollBarTrackColor},
    {offsetof(struct StringPool_t, StringPool_str58),
     (short)KeywordID::kScrollTop},
    {offsetof(struct StringPool_t, StringPool_str59),
     (short)KeywordID::kMaskClip},
    {offsetof(struct StringPool_t, StringPool_str60),
     (short)KeywordID::kIdselector},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str64),
     (short)KeywordID::kItemkeys},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str71),
     (short)KeywordID::kStickyOffset},
    {offsetof(struct StringPool_t, StringPool_str72),
     (short)KeywordID::kExposureUiMarginLeft},
    {offsetof(struct StringPool_t, StringPool_str73),
     (short)KeywordID::kExposureUiMarginRight},
    {offsetof(struct StringPool_t, StringPool_str74),
     (short)KeywordID::kWhiteSpace},
    {offsetof(struct StringPool_t, StringPool_str75),
     (short)KeywordID::kExposureScreenMarginLeft},
    {offsetof(struct StringPool_t, StringPool_str76),
     (short)KeywordID::kExposureScreenMarginRight},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str78),
     (short)KeywordID::kExposureUiMarginBottom},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str81),
     (short)KeywordID::kExposureScreenMarginBottom},
    {offsetof(struct StringPool_t, StringPool_str82),
     (short)KeywordID::kBorder},
    {offsetof(struct StringPool_t, StringPool_str83),
     (short)KeywordID::kEditOnFocus},
    {offsetof(struct StringPool_t, StringPool_str84),
     (short)KeywordID::kBottomInset},
    {offsetof(struct StringPool_t, StringPool_str85),
     (short)KeywordID::kBorderLeft},
    {offsetof(struct StringPool_t, StringPool_str86),
     (short)KeywordID::kBorderRight},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str88),
     (short)KeywordID::kBorderColor},
    {offsetof(struct StringPool_t, StringPool_str89),
     (short)KeywordID::kBorderStyle},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str92),
     (short)KeywordID::kCursor},
    {offsetof(struct StringPool_t, StringPool_str93),
     (short)KeywordID::kExposureUiMarginTop},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str95),
     (short)KeywordID::kRichtype},
    {offsetof(struct StringPool_t, StringPool_str96),
     (short)KeywordID::kExposureScreenMarginTop},
    {offsetof(struct StringPool_t, StringPool_str97),
     (short)KeywordID::kCaretColor},
    {offsetof(struct StringPool_t, StringPool_str98),
     (short)KeywordID::kBorderTopStyle},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str100),
     (short)KeywordID::kBorderBottom},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str104),
     (short)KeywordID::kBorderBottomColor},
    {offsetof(struct StringPool_t, StringPool_str105),
     (short)KeywordID::kBorderBottomStyle},
    {offsetof(struct StringPool_t, StringPool_str106),
     (short)KeywordID::kBorderTop},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str108),
     (short)KeywordID::kBorderLeftStyle},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str110),
     (short)KeywordID::kBorderRadius},
    {offsetof(struct StringPool_t, StringPool_str111), (short)KeywordID::kName},
    {offsetof(struct StringPool_t, StringPool_str112),
     (short)KeywordID::kTintColor},
    {offsetof(struct StringPool_t, StringPool_str113),
     (short)KeywordID::kBorderTopLeftRadius},
    {offsetof(struct StringPool_t, StringPool_str114),
     (short)KeywordID::kMinHeight},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str117),
     (short)KeywordID::kBorderBottomLeftRadius},
    {offsetof(struct StringPool_t, StringPool_str118),
     (short)KeywordID::kBorderBottomRightRadius},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str120),
     (short)KeywordID::kPrevScrollable},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str123),
     (short)KeywordID::kCapInsets},
    {offsetof(struct StringPool_t, StringPool_str124),
     (short)KeywordID::kMaskOrigin},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str131), (short)KeywordID::kText},
    {offsetof(struct StringPool_t, StringPool_str132),
     (short)KeywordID::kScrollDirection},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str134),
     (short)KeywordID::kScrollOrientation},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str136),
     (short)KeywordID::kScrollBarEnable},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str138),
     (short)KeywordID::kTextIndent},
    {offsetof(struct StringPool_t, StringPool_str139),
     (short)KeywordID::kNeedsVisibleCells},
    {offsetof(struct StringPool_t, StringPool_str140),
     (short)KeywordID::kBorderTopRightRadius},
    {offsetof(struct StringPool_t, StringPool_str141),
     (short)KeywordID::kMaxHeight},
    {offsetof(struct StringPool_t, StringPool_str142),
     (short)KeywordID::kTextMaxline},
    {offsetof(struct StringPool_t, StringPool_str143),
     (short)KeywordID::kSelect},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str145),
     (short)KeywordID::kTextGradient},
    {offsetof(struct StringPool_t, StringPool_str146),
     (short)KeywordID::kScrollX},
    {offsetof(struct StringPool_t, StringPool_str147),
     (short)KeywordID::kExposureScene},
    {offsetof(struct StringPool_t, StringPool_str148),
     (short)KeywordID::kMaxlines},
    {offsetof(struct StringPool_t, StringPool_str149),
     (short)KeywordID::kListType},
    {offsetof(struct StringPool_t, StringPool_str150),
     (short)KeywordID::kIgnoreFocus},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str152),
     (short)KeywordID::kVerticalOrientation},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str154),
     (short)KeywordID::kTextShadow},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str156),
     (short)KeywordID::kMarkdownStyle},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str158),
     (short)KeywordID::kValue},
    {offsetof(struct StringPool_t, StringPool_str159),
     (short)KeywordID::kSkipRedirection},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str161), (short)KeywordID::kSrc},
    {offsetof(struct StringPool_t, StringPool_str162),
     (short)KeywordID::kAutoSize},
    {offsetof(struct StringPool_t, StringPool_str163),
     (short)KeywordID::kTransform},
    {offsetof(struct StringPool_t, StringPool_str164),
     (short)KeywordID::kBackgroundRepeat},
    {offsetof(struct StringPool_t, StringPool_str165),
     (short)KeywordID::kBorderLeftColor},
    {offsetof(struct StringPool_t, StringPool_str166),
     (short)KeywordID::kZIndex},
    {offsetof(struct StringPool_t, StringPool_str167),
     (short)KeywordID::kBackgroundImage},
    {offsetof(struct StringPool_t, StringPool_str168),
     (short)KeywordID::kAdjustMode},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str171),
     (short)KeywordID::kDataset},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str174),
     (short)KeywordID::kContent},
    {offsetof(struct StringPool_t, StringPool_str175), (short)KeywordID::kMode},
    {offsetof(struct StringPool_t, StringPool_str176),
     (short)KeywordID::kScrollY},
    {offsetof(struct StringPool_t, StringPool_str177),
     (short)KeywordID::kTextOverflow},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str181),
     (short)KeywordID::kSpeed},
    {offsetof(struct StringPool_t, StringPool_str182),
     (short)KeywordID::kConfirmType},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str184),
     (short)KeywordID::kControls},
    {offsetof(struct StringPool_t, StringPool_str185),
     (short)KeywordID::kPlaceholder},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str187),
     (short)KeywordID::kScrollToId},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str189),
     (short)KeywordID::kScrollBackwardMode},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str191),
     (short)KeywordID::kBackgroundSize},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str194),
     (short)KeywordID::kConsumeSlideEvent},
    {offsetof(struct StringPool_t, StringPool_str195),
     (short)KeywordID::kCapInsetsScale},
    {offsetof(struct StringPool_t, StringPool_str196),
     (short)KeywordID::kPreload},
    {offsetof(struct StringPool_t, StringPool_str197),
     (short)KeywordID::kItemKey},
    {offsetof(struct StringPool_t, StringPool_str198),
     (short)KeywordID::kVisibility},
    {offsetof(struct StringPool_t, StringPool_str199),
     (short)KeywordID::kAlignFocus},
    {offsetof(struct StringPool_t, StringPool_str200),
     (short)KeywordID::kExposureId},
    {offsetof(struct StringPool_t, StringPool_str201),
     (short)KeywordID::kSticky},
    {offsetof(struct StringPool_t, StringPool_str202),
     (short)KeywordID::kColor},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str207),
     (short)KeywordID::kColumnCount},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str209),
     (short)KeywordID::kImageTransitionStyle},
    {offsetof(struct StringPool_t, StringPool_str210),
     (short)KeywordID::kBoxShadow},
    {offsetof(struct StringPool_t, StringPool_str211),
     (short)KeywordID::kListMainAxisGap},
    {offsetof(struct StringPool_t, StringPool_str212),
     (short)KeywordID::kInitialScrollOffset},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str216),
     (short)KeywordID::kMaskPosition},
    {offsetof(struct StringPool_t, StringPool_str217),
     (short)KeywordID::kPreventLoadingOnListScroll},
    {offsetof(struct StringPool_t, StringPool_str218),
     (short)KeywordID::kTextStrokeColor},
    {offsetof(struct StringPool_t, StringPool_str219),
     (short)KeywordID::kSendComposingInput},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str222),
     (short)KeywordID::kTextAlign},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str224),
     (short)KeywordID::kLineHeight},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str226),
     (short)KeywordID::kHitSlop},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str231),
     (short)KeywordID::kScrollBarAutoHide},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str235),
     (short)KeywordID::kNextFocusLeft},
    {offsetof(struct StringPool_t, StringPool_str236),
     (short)KeywordID::kScrollBarThumbColor},
    {offsetof(struct StringPool_t, StringPool_str237),
     (short)KeywordID::kScrollWithoutFocus},
    {offsetof(struct StringPool_t, StringPool_str238),
     (short)KeywordID::kOutline},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str242),
     (short)KeywordID::kScrollBarThumbHoverColor},
    {offsetof(struct StringPool_t, StringPool_str243),
     (short)KeywordID::kScrollBarThumbActiveColor},
    {offsetof(struct StringPool_t, StringPool_str244),
     (short)KeywordID::kScrollBarThumbRadius},
    {offsetof(struct StringPool_t, StringPool_str245),
     (short)KeywordID::kTransition},
    {offsetof(struct StringPool_t, StringPool_str246),
     (short)KeywordID::kScrollEventThrottle},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str248),
     (short)KeywordID::kBackgroundOrigin},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str250),
     (short)KeywordID::kOutlineColor},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str252),
     (short)KeywordID::kOutlineStyle},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str255),
     (short)KeywordID::kOverflow},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str257),
     (short)KeywordID::kScrollBarWidth},
    {offsetof(struct StringPool_t, StringPool_str258),
     (short)KeywordID::kBounce},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str260),
     (short)KeywordID::kDirection},
    {offsetof(struct StringPool_t, StringPool_str261),
     (short)KeywordID::kTextDecoration},
    {offsetof(struct StringPool_t, StringPool_str262),
     (short)KeywordID::kNextFocusRight},
    {offsetof(struct StringPool_t, StringPool_str263),
     (short)KeywordID::kPlaceholderColor},
    {offsetof(struct StringPool_t, StringPool_str264),
     (short)KeywordID::kEnableNewAnimator},
    {offsetof(struct StringPool_t, StringPool_str265),
     (short)KeywordID::kBounces},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str267),
     (short)KeywordID::kBorderWidth},
    {offsetof(struct StringPool_t, StringPool_str268),
     (short)KeywordID::kLevel},
    {offsetof(struct StringPool_t, StringPool_str269),
     (short)KeywordID::kBlurRadius},
    {offsetof(struct StringPool_t, StringPool_str270),
     (short)KeywordID::kAutoFix},
    {offsetof(struct StringPool_t, StringPool_str271),
     (short)KeywordID::kIntersectionObservers},
    {offsetof(struct StringPool_t, StringPool_str272),
     (short)KeywordID::kExperimentalRecycleStickyItem},
    {offsetof(struct StringPool_t, StringPool_str273),
     (short)KeywordID::kAnimation},
    {offsetof(struct StringPool_t, StringPool_str274),
     (short)KeywordID::kNextFocusUp},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str278),
     (short)KeywordID::kAllowEscape},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str282),
     (short)KeywordID::kPreferredFocusChild},
    {offsetof(struct StringPool_t, StringPool_str283),
     (short)KeywordID::kBorderBottomWidth},
    {offsetof(struct StringPool_t, StringPool_str284),
     (short)KeywordID::kSmartScroll},
    {offsetof(struct StringPool_t, StringPool_str285),
     (short)KeywordID::kTransformOrigin},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str289),
     (short)KeywordID::kEnableScrollbar},
    {offsetof(struct StringPool_t, StringPool_str290),
     (short)KeywordID::kBorderRightColor},
    {offsetof(struct StringPool_t, StringPool_str291),
     (short)KeywordID::kBorderRightStyle},
    {offsetof(struct StringPool_t, StringPool_str292),
     (short)KeywordID::kNextScrollable},
    {offsetof(struct StringPool_t, StringPool_str293),
     (short)KeywordID::kBorderLeftWidth},
    {offsetof(struct StringPool_t, StringPool_str294),
     (short)KeywordID::kBackgroundClip},
    {offsetof(struct StringPool_t, StringPool_str295),
     (short)KeywordID::kListCrossAxisGap},
    {offsetof(struct StringPool_t, StringPool_str296),
     (short)KeywordID::kShowSoftInputOnfocus},
    {offsetof(struct StringPool_t, StringPool_str297),
     (short)KeywordID::kLowQuality},
    {offsetof(struct StringPool_t, StringPool_str298),
     (short)KeywordID::kBackground},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str300),
     (short)KeywordID::kAutoplay},
    {offsetof(struct StringPool_t, StringPool_str301),
     (short)KeywordID::kClipPath},
    {offsetof(struct StringPool_t, StringPool_str302),
     (short)KeywordID::kReadonly},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str305),
     (short)KeywordID::kBorderTopWidth},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str307),
     (short)KeywordID::kScrollToIndex},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str309),
     (short)KeywordID::kVerticalAlign},
    {offsetof(struct StringPool_t, StringPool_str310),
     (short)KeywordID::kBorderTopColor},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str321),
     (short)KeywordID::kMaxlength},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str323),
     (short)KeywordID::kInitialScrollIndex},
    {offsetof(struct StringPool_t, StringPool_str324),
     (short)KeywordID::kFocusable},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str326),
     (short)KeywordID::kFocus},
    {offsetof(struct StringPool_t, StringPool_str327),
     (short)KeywordID::kTextMaxlength},
    {offsetof(struct StringPool_t, StringPool_str328),
     (short)KeywordID::kExposureArea},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str330),
     (short)KeywordID::kDisabled},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str333),
     (short)KeywordID::kAutoSaveLastChild},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str337),
     (short)KeywordID::kUiappear},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str341),
     (short)KeywordID::kFontWeight},
    {offsetof(struct StringPool_t, StringPool_str342),
     (short)KeywordID::kFontSize},
    {offsetof(struct StringPool_t, StringPool_str343),
     (short)KeywordID::kFontStyle},
    {offsetof(struct StringPool_t, StringPool_str344),
     (short)KeywordID::kAnimationStyle},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str346),
     (short)KeywordID::kTextStrokeWidth},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str350), (short)KeywordID::kTag},
    {offsetof(struct StringPool_t, StringPool_str351),
     (short)KeywordID::kLoopCount},
    {offsetof(struct StringPool_t, StringPool_str352),
     (short)KeywordID::kEnableFontScaling},
    {offsetof(struct StringPool_t, StringPool_str353),
     (short)KeywordID::kOverflowX},
    {offsetof(struct StringPool_t, StringPool_str354),
     (short)KeywordID::kUidisappear},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str357),
     (short)KeywordID::kImageConfig},
    {offsetof(struct StringPool_t, StringPool_str358),
     (short)KeywordID::kDownsampling},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str361),
     (short)KeywordID::kTextSingleLineVerticalAlign},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str366),
     (short)KeywordID::kFilter},
    {offsetof(struct StringPool_t, StringPool_str367), (short)KeywordID::kLoop},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str371),
     (short)KeywordID::kNextFocusFallback},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str373),
     (short)KeywordID::kUserInteractionEnabled},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str375),
     (short)KeywordID::kBackgroundColor},
    {offsetof(struct StringPool_t, StringPool_str376),
     (short)KeywordID::kScrollBarAutoHideDelay},
    {offsetof(struct StringPool_t, StringPool_str377),
     (short)KeywordID::kListContainerInfo},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str383),
     (short)KeywordID::kOverflowY},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str385),
     (short)KeywordID::kAccessibilityElement},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str388),
     (short)KeywordID::kLowerThresholdItemCount},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str391),
     (short)KeywordID::kLineSpacing},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str394),
     (short)KeywordID::kImageRendering},
    {offsetof(struct StringPool_t, StringPool_str395),
     (short)KeywordID::kAccessibilityElements},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str397),
     (short)KeywordID::kEnableScroll},
    {offsetof(struct StringPool_t, StringPool_str398),
     (short)KeywordID::kLetterSpacing},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str401),
     (short)KeywordID::kEventThrough},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str404),
     (short)KeywordID::kDropShadow},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str412),
     (short)KeywordID::kExperimentalBatchRenderStrategy},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str415),
     (short)KeywordID::kScrollBarThumbWidth},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str420),
     (short)KeywordID::kScrollBarThumbMinLength},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str423),
     (short)KeywordID::kUseSoftKeyboard},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str430),
     (short)KeywordID::kPlaceholderFontWeight},
    {offsetof(struct StringPool_t, StringPool_str431),
     (short)KeywordID::kPlaceholderFontSize},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str435),
     (short)KeywordID::kFocusIndex},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str440),
     (short)KeywordID::kEnableNestedScroll},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str444),
     (short)KeywordID::kTextSelection},
    {offsetof(struct StringPool_t, StringPool_str445),
     (short)KeywordID::kEnableExposureUiMargin},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str447),
     (short)KeywordID::kUpdateAnimation},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str454),
     (short)KeywordID::kFullScreen},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str457),
     (short)KeywordID::kAnimationVelocity},
    {offsetof(struct StringPool_t, StringPool_str458),
     (short)KeywordID::kUpperThresholdItemCount},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str461),
     (short)KeywordID::kBackgroundPosition},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str469),
     (short)KeywordID::kBorderRightWidth},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str483),
     (short)KeywordID::kFontFamily},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str496),
     (short)KeywordID::kAccessibilityLabel},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str499),
     (short)KeywordID::kBlockNativeEvent},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str501),
     (short)KeywordID::kExperimentalUpdateStickyForDiff},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str512),
     (short)KeywordID::kOpacity},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str526),
     (short)KeywordID::kLowerThreshold},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str528),
     (short)KeywordID::kDeferSrcInvalidation},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str530),
     (short)KeywordID::kNextFocusDown},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str534),
     (short)KeywordID::kNeedVisibleItemInfo},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str585),
     (short)KeywordID::kXAppRegion},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str594),
     (short)KeywordID::kFullscreenMode},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str596),
     (short)KeywordID::kUpperThreshold},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str604),
     (short)KeywordID::kUpdateListInfo},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str608),
     (short)KeywordID::kOutlineWidth},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str613),
     (short)KeywordID::kXAutoFontSize},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str632),
     (short)KeywordID::kXAutoFontSizePresetSizes},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {-1},
    {offsetof(struct StringPool_t, StringPool_str640),
     (short)KeywordID::kFocusSmoothScroll}};

const struct TokenValue *KeywordHash::find(const char *str, unsigned int len) {
  if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) {
    unsigned int key = hash(str, len);

    if (key <= MAX_HASH_VALUE) {
      int o = wordlist[key].name;
      if (o >= 0) {
        const char *s = o + StringPool;

        if (*str == *s && !strcmp(str + 1, s + 1)) return &wordlist[key];
      }
    }
  }
  return 0;
}

static_assert(sizeof(StringPool_contents) < 32767);

KeywordID GetKeywordID(const std::string &str) {
  auto *tk = KeywordHash::find(str.c_str(), str.size());
  return tk ? static_cast<KeywordID>(tk->id) : KeywordID::kInvalid;
}

}  // namespace clay
